Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
admin
/
app
/
V2
/
Resources
/
Filename :
UploadedDocumentResource.php
back
Copy
<?php namespace App\V2\Resources; use App\Libraries\Helpers; use Carbon\Carbon; use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Facades\URL; /** * Transforms Claim data for API responses */ class UploadedDocumentResource extends BaseResource { public function fromUploadedDocumentsToArray($uploadedDocuments, $should_paginate = false, $load_full_details = false) { $uploadedDocuments_arr_paginated = $uploadedDocuments->toArray(); $uploadedDocuments_arr = []; foreach($uploadedDocuments AS $uploadedDocument){ $uploadedDocuments_arr[] = $this->fromUploadedDocumentToArray($uploadedDocument, $load_full_details); } $uploadedDocuments_arr_paginated['data'] = $uploadedDocuments_arr; if($should_paginate) return $uploadedDocuments_arr_paginated; else return $uploadedDocuments_arr; } public function fromUploadedDocumentToArray($uploadedDocument, $load_full_details = false) { $uploadedDocument_arr = $uploadedDocument->toArray(); $encryptedUserId = Crypt::encryptString($uploadedDocument->user_id); $uploadedDocument_arr['signed_url'] = URL::temporarySignedRoute('docu-locker.download.signed', now()->addMinutes(30), ['uuid' => $uploadedDocument->document_uuid, '_u'=>$encryptedUserId]); $uploadedDocument_arr['created_at_str'] = "Added on ". date_format( date_create($uploadedDocument->created_at), 'jS M Y' ); $uploadedDocument_arr['thumbnail_url'] = $this->getThumbnail($uploadedDocument, $uploadedDocument_arr['signed_url']); unset($uploadedDocument_arr['s3_file_handle']); unset($uploadedDocument_arr['local_file_url']); if($load_full_details){ } return $uploadedDocument_arr; } private function getThumbnail($uploadedDocument, $signedUrl){ switch($uploadedDocument->file_extension){ case 'jpg': case 'jpeg': case 'png': case 'gif': return $signedUrl; break; case 'pdf': return asset('app-assets/images/icon/pdf-image.png'); break; case 'docx': case 'doc': return asset('app-assets/images/icon/doc-image.png'); break; case 'ppt': case 'pptx': return asset('app-assets/images/icon/ppt-image.png'); break; case 'txt'; return asset('app-assets/images/icon/txt-image.png'); break; case 'xls': case 'xlsx': return asset('app-assets/images/icon/xls-image.png'); break; case 'zip': return asset('app-assets/images/icon/zip-image.png'); default: return asset('app-assets/images/icon/raw-image.png'); break; } } } ?>